package com.eastfair.projectcore.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 实体类
 * 
 * </p>
 *
 * @author liuxiaobai
 * @since 2021-11-17
 */
@Data
public class ExhibitionDTO implements Serializable {
    public interface executeCreateExhibition {}
    private static final long serialVersionUID = 1L;
    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id")
//    @NotNull(groups = {executeCreateExhibition.class},message = "公司id不能为空")
    private Long id;
    /**
     * 项目id
     */
    @ApiModelProperty(value = "项目id")
    private Long projectId;
    /**
     * 展会名称
     */
    @ApiModelProperty(value = "展会名称")
    @Size(max = 255, message = "展会名称长度不能超过255")
    @NotBlank(groups = {executeCreateExhibition.class},message = "展会名称不能为空")
    private String name;
    /**
     * 展会名称（中文）
     */
    @ApiModelProperty(value = "展会名称（中文）")
    @Size(max = 255, message = "展会名称（中文）长度不能超过255")
    private String enName;

    /**
     * E展通ID
     */
    @ApiModelProperty(value = "E展通ID")
    @Size(max = 32, message = "E展通ID长度不能超过32")
    private String eId;
    /**
     * B展通ID
     */
    @ApiModelProperty(value = "B展通ID")
    @Size(max = 32, message = "B展通ID长度不能超过32")
    private String bId;

    /**
     * 地址
     */
    @ApiModelProperty(value = "地址")
    @Size(max = 255, message = "地址长度不能超过255")
    private String address;
    /**
     * 地址（中文）
     */
    @ApiModelProperty(value = "地址（中文）")
    @Size(max = 255, message = "地址（中文）长度不能超过255")
    private String enAddress;
    /**
     * logo图片地址
     */
    @ApiModelProperty(value = "logo图片地址")
    @Size(max = 255, message = "logo图片地址长度不能超过255")
    private String logoImage;
    /**
     * 广告视频
     */
    @ApiModelProperty(value = "广告视频")
    @Size(max = 255, message = "广告视频长度不能超过255")
    private String advertsVideo;
    /**
     * 广告视频图片
     */
    @ApiModelProperty(value = "广告视频图片")
    @Size(max = 255, message = "广告视频图片长度不能超过255")
    private String advertsVideoImage;
    /**
     * 广告图片
     */
    @ApiModelProperty(value = "广告图片")
    @Size(max = 255, message = "广告图片长度不能超过255")
    private String advertsImage;
    /**
     * 开始时间
     */
    @ApiModelProperty(value = "开始时间")
    private LocalDateTime startTime;
    /**
     * 结束时间
     */
    @ApiModelProperty(value = "结束时间")
    private LocalDateTime endTime;
    /**
     * 默认每个展商单场直播时长限制（分钟）
     */
    @ApiModelProperty(value = "默认每个展商单场直播时长限制（分钟）")
    private Integer liveLengthSingle;
    /**
     * 默认每个展商直播总时长限制（分钟）
     */
    @ApiModelProperty(value = "默认每个展商直播总时长限制（分钟）")
    private Integer liveLengthTotal;
    /**
     * 是否生效(默认1：可用 0:不可用)
     */
    @ApiModelProperty(value = "是否生效(默认1：可用 0:不可用)")
    private Integer isEnabled;
    /**
     * 是否删除(默认0：未删除 1:已删除)
     */
    @ApiModelProperty(value = "是否删除(默认0：未删除 1:已删除)")
    private Integer isDeleted;

    /**
     * 角色id集合
     */
    private List<Long> roleIds;

    /**
     * 同步系统id
     */
    @ApiModelProperty(value = "同步系统id")
    private String exhId;
}
